package com.bytz.modules.cms.c4c.model;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;

@Getter
@Setter
@JsonInclude(JsonInclude.Include.NON_NULL)
public class C4cOpportunity implements Serializable {

    @JsonProperty("ID")
    private String id;

    @JsonProperty("ObjectID")
    private String objectId;

    @JsonProperty("ProcessingTypeCode")
    private String processingTypeCode;

    @ApiModelProperty("需方accountID")
    @JsonProperty("ProspectPartyID")
    private String prospectPartyID;

    @ApiModelProperty("机会名称")
    @JsonProperty("Name")
    private String name;

    @JsonProperty("PrimaryContactPartyID")
    private String primaryContactPartyID;

    @JsonProperty("OriginTypeCode")
    private String originTypeCode;

    @JsonProperty("LifeCycleStatusCode")
    private String lifeCycleStatusCode;

    @JsonProperty("SalesCycleCode")
    private String salesCycleCode;

    @JsonProperty("SalesCyclePhaseCode")
    private String salesCyclePhaseCode;

    @JsonProperty("ProcessStatusValidSinceDate")
    private String processStatusValidSinceDate;

    @JsonProperty("SalesCyclePhaseStartDate")
    private String salesCyclePhaseStartDate;

    @ApiModelProperty("成功率")
    @JsonProperty("ProbabilityPercent")
    private String probabilityPercent;

    @ApiModelProperty("不含税总价")
    @JsonProperty("ExpectedRevenueAmount")
    private String expectedRevenueAmount;

    @JsonProperty("ExpectedRevenueAmountCurrencyCode")
    private String expectedRevenueAmountCurrencyCode;

    @JsonProperty("ExpectedProcessingStartDate")
    private String expectedProcessingStartDate;

    @JsonProperty("ExpectedProcessingEndDate")
    private String expectedProcessingEndDate;

    @JsonProperty("ExpectedRevenueStartDate")
    private String expectedRevenueStartDate;

    @JsonProperty("ExpectedRevenueEndDate")
    private String expectedRevenueEndDate;

    @JsonProperty("SalesForecastCategoryCode")
    private String salesForecastCategoryCode;

    @JsonProperty("SalesUnitPartyID")
    private String salesUnitPartyID;

    @JsonProperty("SalesOrganisationID")
    private String salesOrganisationID;

    @JsonProperty("DistributionChannelCode")
    private String distributionChannelCode;

    @JsonProperty("DivisionCode")
    private String divisionCode;

    @JsonProperty("SalesOfficeID")
    private String salesOfficeID;

    @JsonProperty("SalesGroupID")
    private String salesGroupID;

    @JsonProperty("SalesTerritoryID")
    private String salesTerritoryID;

    @JsonProperty("MainEmployeeResponsiblePartyID")
    private String mainEmployeeResponsiblePartyID;

    @JsonProperty("SellerPartyID")
    private String sellerPartyID;

    @JsonProperty("PhaseProgressEvaluationStatusCode")
    private String phaseProgressEvaluationStatusCode;

    @JsonProperty("BusinessLine4")
    private String businessLine4;

    @ApiModelProperty("item中最早的期望交付日期")
    @JsonProperty("ExpectedShipmentDate_KUT")
    private String expectedShipmentDateKUT;

    @JsonProperty("SerialIDs")
    private String serialIDs;

    @JsonProperty("ResultReasonCode")
    private String resultReasonCode;

    @JsonProperty("ProspectPartyName")
    private String prospectPartyName;

}
